Blade server systems are well known. A blade server system typically includes multiple servers, or “blades,” where each blade typically includes a processor, memory, storage, network connections, etc. A problem with conventional blade server systems is that individual blades may fail over time. One conventional solution is to design blades so that they are hot-swappable. As such, a failed blade may be swapped with a new blade. Furthermore, automatic backup and recovery systems are well known to assist in the event of a catastrophic failure of a blade or the firmware of a blade.
A problem with conventional automatic backup and recovery systems is that the backup copy of any firmware of a given blade is typically the same version of code that was shipped with (i.e., originally installed on) the blade. Consequently, if a blade server system were to catastrophically fail, the backup copy of the firmware may be outdated. Unfortunately, there is no known solution that validates that the backup firmware of a given hardware device is useful. This is because updated versions of firmware are typically not backed up. Furthermore, there are no mechanisms in place to track the trustworthiness of the firmware installed on a given blade.
Accordingly, what is needed is a method and system for maintaining backup copies of firmware. The present invention addresses such a need.